//===--- TypeCheckerTypeIDZone.def ------------------------------*- C++ -*-===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
//
//  This definition file describes the types in the type checker's
//  TypeID zone, for use with the TypeID template.
//
//===----------------------------------------------------------------------===//

SWIFT_REQUEST(TypeChecker, AbstractGenericSignatureRequest,
              GenericSignatureWithError (const GenericSignatureImpl *,
                                         SmallVector<GenericTypeParamType *, 2>,
                                         SmallVector<Requirement, 2>),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ApplyAccessNoteRequest,
              evaluator::SideEffect(ValueDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, AttachedResultBuilderRequest,
              CustomAttr *(ValueDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, AttachedPropertyWrapperTypeRequest,
              Type(VarDecl *, unsigned), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, AttachedPropertyWrappersRequest,
              llvm::TinyPtrVector<CustomAttr *>(VarDecl *), Cached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, CallerSideDefaultArgExprRequest,
              Expr *(DefaultArgumentExpr *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, CheckInconsistentImplementationOnlyImportsRequest,
              evaluator::SideEffect(ModuleDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, CheckInconsistentSPIOnlyImportsRequest,
              evaluator::SideEffect(SourceFile *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, CheckInconsistentAccessLevelOnImport,
              evaluator::SideEffect(SourceFile *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, CheckInconsistentWeakLinkedImportsRequest,
              evaluator::SideEffect(ModuleDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, CheckRedeclarationRequest,
              evaluator::SideEffect(ValueDecl *),
              Uncached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ClassAncestryFlagsRequest,
              AncestryFlags(ClassDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IDEInspectionFileRequest,
              SourceFile *(ModuleDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, CompareDeclSpecializationRequest,
              bool (DeclContext *, ValueDecl *, ValueDecl *, bool, bool),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ConditionalRequirementsRequest,
              ArrayRef<Requirement> (NormalProtocolConformance *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsDeclRefinementOfRequest,
              bool (ValueDecl *, ValueDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, CustomAttrTypeRequest,
              Type(CustomAttr *, DeclContext *, CustomAttrTypeKind),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, DefaultArgumentExprRequest,
              Expr *(ParamDecl *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, DefaultArgumentTypeRequest,
              Type(ParamDecl *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, DefaultInitializerIsolation,
              ActorIsolation(VarDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, DefaultArgumentInitContextRequest,
              Initializer *(ParamDecl *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, DefaultDefinitionTypeRequest,
              Type(AssociatedTypeDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, DefaultTypeRequest,
              Type(KnownProtocolKind, const DeclContext *), SeparatelyCached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, DifferentiableAttributeTypeCheckRequest,
              IndexSubset *(DifferentiableAttr *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, DerivativeAttrOriginalDeclRequest,
              AbstractFunctionDecl *(DerivativeAttr *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, TypeEraserHasViableInitRequest,
              bool(TypeEraserAttr *, ProtocolDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, DynamicallyReplacedDeclRequest,
              ValueDecl *(ValueDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ABIMembersRequest,
              ArrayRef<Decl *>(IterableDeclContext *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, AllMembersRequest,
              ArrayRef<Decl *>(IterableDeclContext *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, SpecializeAttrTargetDeclRequest,
              ValueDecl *(const ValueDecl *, SpecializeAttr *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, EnumRawValuesRequest,
              evaluator::SideEffect (EnumDecl *, TypeResolutionStage),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, EnumRawTypeRequest,
              Type(EnumDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ExistentialConformsToSelfRequest,
              bool(ProtocolDecl *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, HasSelfOrAssociatedTypeRequirementsRequest,
              bool(ProtocolDecl *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ExtendedTypeRequest, Type(ExtensionDecl *), Cached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ResultBuilderTypeRequest, Type(ValueDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsActorRequest, bool(NominalTypeDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsDefaultActorRequest,
              bool(ClassDecl *, ModuleDecl *, ResilienceExpansion),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, CheckDistributedFunctionRequest,
              bool(AbstractFunctionDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsDistributedActorRequest, bool(NominalTypeDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GetDistributedActorImplicitCodableRequest,
               NormalProtocolConformance *(NominalTypeDecl *, KnownProtocolKind),
               Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GetDistributedActorSystemRemoteCallFunctionRequest,
              AbstractFunctionDecl *(NominalTypeDecl *, bool),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GetDistributedTargetInvocationEncoderRecordArgumentFunctionRequest,
              AbstractFunctionDecl *(NominalTypeDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GetDistributedTargetInvocationEncoderRecordReturnTypeFunctionRequest,
              AbstractFunctionDecl *(NominalTypeDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GetDistributedTargetInvocationEncoderRecordErrorTypeFunctionRequest,
              AbstractFunctionDecl *(NominalTypeDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GetDistributedTargetInvocationDecoderDecodeNextArgumentFunctionRequest,
              AbstractFunctionDecl *(NominalTypeDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GetDistributedTargetInvocationResultHandlerOnReturnFunctionRequest,
              AbstractFunctionDecl *(NominalTypeDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GetDistributedThunkRequest,
              FuncDecl *(llvm::PointerUnion<AbstractStorageDecl *, AbstractFunctionDecl *>),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GetDistributedActorIDPropertyRequest,
              VarDecl *(NominalTypeDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GetDistributedActorSystemPropertyRequest,
              VarDecl *(NominalTypeDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GetDistributedRemoteCallTargetInitFunctionRequest,
              ConstructorDecl *(NominalTypeDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GetDistributedRemoteCallArgumentInitFunctionRequest,
              ConstructorDecl *(NominalTypeDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GetDistributedActorInvocationDecoderRequest,
              NominalTypeDecl *(NominalTypeDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GetDistributedActorArgumentDecodingMethodRequest,
              FuncDecl *(NominalTypeDecl *),
              Cache, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GlobalActorInstanceRequest,
              VarDecl *(NominalTypeDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GlobalActorAttributeRequest,
              Optional<CustomAttrNominalPair>(
                  llvm::PointerUnion<Decl *, ClosureExpr *>),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ActorIsolationRequest,
              ActorIsolationState(ValueDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, HasIsolatedSelfRequest,
              bool(ValueDecl *),
              Uncached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, FunctionOperatorRequest, OperatorDecl *(FuncDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(NameLookup, GenericSignatureRequest,
              GenericSignature (GenericContext *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, HasCircularInheritedProtocolsRequest,
              bool(ProtocolDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, HasCircularRawValueRequest,
              bool(EnumDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, HasImportsMatchingFlagRequest,
              bool(SourceFile *, ImportOptions), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ModuleLibraryLevelRequest,
              LibraryLevel(ModuleDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, InferredGenericSignatureRequest,
              GenericSignatureWithError (const GenericSignatureImpl *,
                                         GenericParamList *,
                                         WhereClauseOwner,
                                         SmallVector<Requirement, 2>,
                                         SmallVector<TypeLoc, 2>, bool),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, DistributedModuleIsAvailableRequest,
              bool(ModuleDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, InheritedTypeRequest,
              Type(llvm::PointerUnion<const TypeDecl *, const ExtensionDecl *>,
                   unsigned, TypeResolutionStage),
              SeparatelyCached, HasNearestLocation)
SWIFT_REQUEST(TypeChecker, InheritsSuperclassInitializersRequest,
              bool(ClassDecl *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, InitKindRequest,
              CtorInitializerKind(ConstructorDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, BodyInitKindRequest,
              BodyInitKindAndExpr(ConstructorDecl *), Cached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, InterfaceTypeRequest,
              Type(ValueDecl *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsAccessorTransparentRequest, bool(AccessorDecl *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsDynamicRequest, bool(ValueDecl *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsFinalRequest, bool(ValueDecl *), SeparatelyCached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, InvertibleAnnotationRequest,
              InverseMarking(TypeDecl *, InvertibleProtocolKind),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsNoncopyableRequest,
              bool (CanType),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsEscapableRequest,
              bool (CanType),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsGetterMutatingRequest, bool(AbstractStorageDecl *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsImplicitlyUnwrappedOptionalRequest,
              bool(ValueDecl *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsObjCRequest, bool(ValueDecl *), SeparatelyCached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsSetterMutatingRequest, bool(AbstractStorageDecl *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, LazyStoragePropertyRequest, VarDecl *(VarDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ValidatePrecedenceGroupRequest,
              PrecedenceGroupDecl *(DeclContext *, Identifier, SourceLoc),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, MangleLocalTypeDeclRequest,
              std::string(const TypeDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ModuleImplicitImportsRequest,
              ImplicitImportList(ModuleDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, NamingPatternRequest,
              NamedPattern *(VarDecl *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ExprPatternMatchRequest,
              ExprPatternMatchResult(const ExprPattern *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, EnumElementExprPatternRequest,
              ExprPattern *(const EnumElementPattern *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, OpaqueReadOwnershipRequest,
              OpaqueReadOwnership(AbstractStorageDecl *), SeparatelyCached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, OpaqueResultTypeRequest,
              OpaqueTypeDecl *(ValueDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, OperatorPrecedenceGroupRequest,
              PrecedenceGroupDecl *(PrecedenceGroupDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, OverriddenDeclsRequest,
              llvm::TinyPtrVector<ValueDecl *>(ValueDecl *), SeparatelyCached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, PatternBindingEntryRequest,
              const PatternBindingEntry *(PatternBindingDecl *, unsigned),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, PatternBindingCheckedAndContextualizedInitRequest,
              Expr *(PatternBindingDecl *, unsigned),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, PrimarySourceFilesRequest,
              ArrayRef<SourceFile *>(ModuleDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, PropertyWrapperAuxiliaryVariablesRequest,
              PropertyWrapperAuxiliaryVariables(VarDecl *), Cached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, PropertyWrapperInitializerInfoRequest,
              PropertyWrapperInitializerInfo(VarDecl *), Cached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, PropertyWrapperBackingPropertyTypeRequest,
              Type(VarDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, PropertyWrapperLValuenessRequest,
              Optional<PropertyWrapperLValueness>(VarDecl *), Cached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, PropertyWrapperMutabilityRequest,
              Optional<PropertyWrapperMutability>(VarDecl *), Cached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, PropertyWrapperTypeInfoRequest,
              PropertyWrapperTypeInfo(NominalTypeDecl *), Cached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ProtocolRequiresClassRequest, bool(ProtocolDecl *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, PrimaryAssociatedTypesRequest,
              ArrayRef<AssociatedTypeDecl *>(ProtocolDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, RequirementRequest,
              Requirement(WhereClauseOwner, unsigned, TypeResolutionStage),
              Cached, HasNearestLocation)
SWIFT_REQUEST(TypeChecker, StructuralRequirementsRequest,
              ArrayRef<StructuralRequirement>(ProtocolDecl *), Cached,
              HasNearestLocation)
SWIFT_REQUEST(TypeChecker, TypeAliasRequirementsRequest,
              ArrayRef<Requirement>(ProtocolDecl *), Cached,
              HasNearestLocation)
SWIFT_REQUEST(TypeChecker, ProtocolDependenciesRequest,
              ArrayRef<ProtocolDecl *>(ProtocolDecl *), Cached,
              HasNearestLocation)
SWIFT_REQUEST(TypeChecker, RequirementSignatureRequest,
              RequirementSignature(ProtocolDecl *), SeparatelyCached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, RequiresOpaqueAccessorsRequest, bool(VarDecl *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, RequiresOpaqueModifyCoroutineRequest,
              bool(AbstractStorageDecl *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, FragileFunctionKindRequest,
              FragileFunctionKind(DeclContext *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, PolymorphicEffectKindRequest,
              PolymorphicEffectKind(EffectKind, AbstractFunctionDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, SelfAccessKindRequest, SelfAccessKind(FuncDecl *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, StorageImplInfoRequest,
              StorageImplInfo(AbstractStorageDecl *), SeparatelyCached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, HasStorageRequest,
              bool(AbstractStorageDecl *), SeparatelyCached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, StoredPropertiesAndMissingMembersRequest,
              ArrayRef<Decl *>(NominalTypeDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, StoredPropertiesRequest,
              ArrayRef<VarDecl *>(NominalTypeDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, InitAccessorPropertiesRequest,
              ArrayRef<VarDecl *>(NominalTypeDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, MemberwiseInitPropertiesRequest,
              ArrayRef<VarDecl *>(NominalTypeDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, StructuralTypeRequest, Type(TypeAliasDecl *), Cached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, SuperclassTypeRequest,
              Type(NominalTypeDecl *, TypeResolutionStage), SeparatelyCached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, SynthesizeAccessorRequest,
              AccessorDecl *(AbstractStorageDecl *, AccessorKind),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, TangentStoredPropertyRequest,
              llvm::Expected<VarDecl *>(VarDecl *, CanType), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, PreCheckFunctionBodyRequest,
              BraceStmt *(AbstractFunctionDecl *),
              Uncached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, TypeCheckFunctionBodyRequest,
              BraceStmt *(AbstractFunctionDecl *), SeparatelyCached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, TypeCheckASTNodeAtLocRequest,
              bool(TypeCheckASTNodeAtLocContext, SourceLoc),
              Uncached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, UnderlyingTypeRequest, Type(TypeAliasDecl *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, USRGenerationRequest, std::string(const ValueDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsABICompatibleOverrideRequest,
              bool(ValueDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsStaticRequest,
              bool(FuncDecl *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, NeedsNewVTableEntryRequest,
              bool(AbstractFunctionDecl *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ParamSpecifierRequest,
              ParamDecl::Specifier(ParamDecl *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ThrownTypeRequest,
              Type(AbstractFunctionDecl *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, DoCatchExplicitThrownTypeRequest,
              Type(DeclContext *, DoCatchStmt *), SeparatelyCached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ResultTypeRequest,
              Type(ValueDecl *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, AreAllStoredPropertiesDefaultInitableRequest,
              bool(NominalTypeDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, HasUserDefinedDesignatedInitRequest,
              bool(NominalTypeDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, HasMemberwiseInitRequest,
              bool(StructDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, PreCheckResultBuilderRequest,
              ResultBuilderBodyPreCheck(PreCheckResultBuilderDescriptor),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ResolveImplicitMemberRequest,
              evaluator::SideEffect(NominalTypeDecl *, ImplicitMemberAction),
              Uncached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ResolveMacroRequest,
              ConcreteDeclRef(UnresolvedMacroReference, const Decl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ResolveMacroConformances,
              ArrayRef<Type>(const MacroRoleAttr *, const Decl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ResolveTypeEraserTypeRequest,
              Type(ProtocolDecl *, TypeEraserAttr *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, PolymorphicEffectRequirementsRequest,
              PolymorphicEffectRequirementList(EffectKind, ProtocolDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ConformanceHasEffectRequest,
              bool(EffectKind, ProtocolConformanceRef),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ResolveTypeRequest,
              Type (const TypeResolution *, TypeRepr *, GenericParamList *),
              Uncached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ResolveRawLayoutLikeTypeRequest,
              Type(StructDecl *, RawLayoutAttr *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, SPIGroupsRequest,
              llvm::ArrayRef<Identifier>(Decl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, SynthesizeMemberwiseInitRequest,
              ConstructorDecl *(NominalTypeDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ResolveEffectiveMemberwiseInitRequest,
              ConstructorDecl *(NominalTypeDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, HasDefaultInitRequest,
              bool(NominalTypeDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, SynthesizeDefaultInitRequest,
              ConstructorDecl *(NominalTypeDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, TypeCheckSourceFileRequest,
              bool(SouceFile *), SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, TypeWitnessRequest,
              TypeWitnessAndDecl(NormalProtocolConformance *,
                                 AssociatedTypeDecl *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, AssociatedConformanceRequest,
              ProtocolConformanceRef(NormalProtocolConformance *,
                                     Type, ProtocolDecl *, unsigned),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ValueWitnessRequest,
              Witness(NormalProtocolConformance *, ValueDecl *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, PatternTypeRequest,
              Type(ContextualPattern),
              Cached, HasNearestLocation)
SWIFT_REQUEST(TypeChecker, ScopedImportLookupRequest,
              ArrayRef<ValueDecl *>(ImportDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ClosureHasExplicitResultRequest,
              bool(ClosureExpr *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, LookupAllConformancesInContextRequest,
              ProtocolConformanceLookupResult(const IterableDeclContext *),
              Uncached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, SimpleDidSetRequest, 
              bool(AccessorDecl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, SynthesizeMainFunctionRequest,
              FuncDecl *(Decl *), Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ImplicitKnownProtocolConformanceRequest,
              ProtocolConformance *(NominalTypeDecl *, KnownProtocolKind),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, RenamedDeclRequest,
              ValueDecl *(const ValueDecl *, const AvailableAttr *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, SemanticAvailableRangeAttrRequest,
              Optional<AvailableAttrDeclPair>(const Decl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, SemanticUnavailableAttrRequest,
              Optional<AvailableAttrDeclPair>(const Decl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ClosureEffectsRequest,
              FunctionType::ExtInfo(ClosureExpr *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, GetSourceFileAsyncNode,
              AwaitExpr *(const SourceFile *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, BreakTargetRequest,
              LabeledStmt *(const BreakStmt *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ContinueTargetRequest,
              LabeledStmt *(const ContinueStmt *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, PreCheckReturnStmtRequest,
              Stmt *(ReturnStmt *, DeclContext *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsSingleValueStmtRequest,
              IsSingleValueStmtResult(const Stmt *, ASTContext *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, MacroDefinitionRequest,
              MacroDefinition(MacroDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, CompilerPluginLoadRequest,
              CompilerPluginLoadResult(ASTContext *, Identifier),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ExternalMacroDefinitionRequest,
              ExternalMacroDefinition(ASTContext *, Identifier, Identifier),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ExpandMacroExpansionDeclRequest,
              ArrayRef<Decl *>(MacroExpansionDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ExpandMacroExpansionExprRequest,
              ArrayRef<Decl *>(MacroExpansionExpr *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ExpandMemberAttributeMacros,
              ArrayRef<unsigned>(Decl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ExpandAccessorMacros,
              ArrayRef<unsigned>(AbstractStorageDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ExpandExtensionMacros,
              ArrayRef<unsigned>(NominalTypeDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ExpandSynthesizedMemberMacroRequest,
              ArrayRef<unsigned>(Decl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ExpandPeerMacroRequest,
              ArrayRef<unsigned>(Decl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ExpandPreambleMacroRequest,
              ArrayRef<unsigned>(AbstractFunctionDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ExpandBodyMacroRequest,
              llvm::Optional<unsigned>(AbstractFunctionDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, LocalDiscriminatorsRequest,
              unsigned(DeclContext *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, RawCommentRequest,
              RawComment(const Decl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, SemanticBriefCommentRequest,
              StringRef(const Decl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsNonUserModuleRequest,
              bool(ModuleDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, TypeCheckObjCImplementationRequest,
              unsigned(ExtensionDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, HasInitAccessorRequest,
              bool(AbstractStorageDecl *), Cached,
              NoLocationInfo)
SWIFT_REQUEST(TypeChecker, InitAccessorReferencedVariablesRequest,
              ArrayRef<VarDecl *>(DeclAttribute *, AccessorDecl *,
                                  ArrayRef<Identifier>),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, ExpandChildTypeRefinementContextsRequest,
              std::vector<TypeRefinementContext *>(TypeRefinementContext *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, SerializeAttrGenericSignatureRequest,
              GenericSignature(Decl *, SpecializeAttr *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsFunctionBodySkippedRequest,
              bool(const AbstractFunctionDecl *),
              SeparatelyCached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, IsCCompatibleFuncDeclRequest,
              bool(const FuncDecl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, SemanticDeclAttrsRequest,
              DeclAttributes(const Decl *),
              Cached, NoLocationInfo)
SWIFT_REQUEST(TypeChecker, UniqueUnderlyingTypeSubstitutionsRequest,
              llvm::Optional<SubstitutionMap>(const Decl *),
              SeparatelyCached, NoLocationInfo)
